import {isEmpty,isNull} from './common';

import uiConfig from './uiConfigData';

export function getUIConfig(domain, type, id) {

	if (isEmpty(domain)) {
		return isNull(uiConfig[type]) ? {} : uiConfig[type][id];
	} else {
		return uiConfig[domain][type][id];
	}

}

export function getUIActionGroup(id) {

	if (isEmpty(id)) {
		return null;
	}

	var uiId = id.split(':');
	if (uiId.length > 1) {
		return getUIConfig(uiId[0], 'actionGroups', uiId[1]);
	} else {
		return getUIConfig(null, 'actionGroups', uiId);
	}
}

export function getUIAction(id) {

	if (isEmpty(id)) {
		return null;
	}

	var uiId = id.split(':');
	if (uiId.length > 1) {
		return getUIConfig(uiId[0], 'actions', uiId[1]);
	} else {
		return getUIConfig(null, 'actions', uiId);
	}
}

export function getUIForm(id) {

	if (isEmpty(id)) {
		return null;
	}

	var uiId = id.split(':');
	if (uiId.length > 1) {
		return getUIConfig(uiId[0], 'forms', uiId[1]);
	} else {
		return getUIConfig(null, 'forms', uiId);
	}
}

export function getUIList(id) {

	if (isEmpty(id)) {
		return null;
	}

	var uiId = id.split(':');
	if (uiId.length > 1) {
		return getUIConfig(uiId[0], 'listDatas', uiId[1]);
	} else {
		return getUIConfig(null, 'listDatas', uiId);
	}
}

export function getUITable(id) {

	if (isEmpty(id)) {
		return null;
	}

	var uiId = id.split(':');
	if (uiId.length > 1) {
		return getUIConfig(uiId[0], 'tables', uiId[1]);
	} else {
		return getUIConfig(null, 'tables', uiId);
	}
}

export function getUITabs(id) {

	if (isEmpty(id)) {
		return null;
	}

	var uiId = id.split(':');
	if (uiId.length > 1) {
		return getUIConfig(uiId[0], 'tabs', uiId[1]);
	} else {
		return getUIConfig(null, 'tabs', uiId);
	}
}